The present invention relates generally to computer systems, and particularly to computer database management systems.
For years, databases have provided an efficient way to store and/or organize massive amounts of information, allowing searching, processing, etc. of that information in a relatively expeditious manner. In order to perform optimally, however, a database sometimes will need to be tuned, to account for variations among different implementations, changing data elements within the database, hardware modifications, etc., often by adjusting various operating parameters, etc. Moreover, the dynamic nature of many databases sometimes result in configuration problems, inconsistencies in data sets, and the like.
As databases and/or database management systems (sometimes referred to as “relational database management systems” or by the abbreviation “RDBMS”) have grown more sophisticated in recent years, opportunities for performance/reliability enhancements through tuning have increased. As well, the mission-critical nature of many databases has resulted in a reduced tolerance for any problems with the database or the RDBMS. Thus, there has been an effort throughout the database industry to identify and address such issues as early as possible.
Further, in an effort to reduce administrator workload, many database vendors have attempted to automate as many database administration tasks as possible, with a goal of developing, as nearly as possible, a self-managing database. One avenue for pursuing this goal has been through the use of semi-automated tools, which attempt to guide an administrator through the process of addressing a tuning opportunities, tuning problems, etc. One challenge in the use of such tools, however, has been the lack of a consistent framework for such tools; generally, a database may have a variety of relatively specialized tools for assisting administrators with various tasks, but the relative specialization of such tools often results in inconsistent implementations and/or a relative lack of interoperability between such tools.